Image processing apparatus and method and program storage medium

ABSTRACT

An image processing apparatus for outputting a page image corresponding to print data inputted from an external source has an analyzer for analyzing the print data at the time of outputting the first copy and generating a page image, an image spooler for holding the page image at the time of outputting the first copy, and a page image reading unit for reading out the spooled page image at the time of outputting the second and subsequent copies. Whether the image spooler and the page image reading unit are used or not is discriminated in accordance with the maximum number of sorting page images which can be processed at once by a mechanical sorter and the designated number of print copies.

This application is a division of application Ser. No. 09/761,646 filedJan. 18, 2001.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to an image processing apparatus, an imageprocessing method, and a program storage medium and, more particularly,to an image processing apparatus, an image processing method, and aprogram storage medium, in which data can be outputted again on thebasis of inputted print data.

2. Related Background Art

In recent years, the realization of high speed printing of a pluralityof copies has been a large problem in an image processing apparatus,such as a page printer or the like, which analyzes a print job describedby a page description language (hereinafter, abbreviated to “PDL”) orthe like, and outputs a corresponding page image.

Hitherto, it has been a general application to sort and staple thenecessary number of copies by copying the necessary number of sheets,using a copying apparatus, on the basis of an output result derived by aprinter. However, the need to output a plurality of copies of anoriginal by a printer is increasing. Also, because the operation has tobe performed twice, a picture quality of a copy obtained by the copyingapparatus is inferior to that of an original outputted by the printer,and the like.

There are the following conventional methods for processing a pluralcopy print at a high speed.

The first method is a method whereby only one copy of a print job istransmitted from an external apparatus, such as a host computer or thelike. The the print job is spooled into an external storing device suchas a hard disk, or the like, equipped on the printer side, and ananalysis of a PDL and a print are repeated the same number of times asthe designated number of copies. According to the first method, since adata transfer can be accomplished only one copy at a time, it iseffective particularly in a case where the apparatus is connected by aninterface of a low transfer speed.

In a case where the apparatus is equipped with a mechanical sorter as afinishing apparatus, a plurality of copies can be printed (what iscalled a page copy) by sequentially outputting respective pages, as manyas the number of copies, to different paper ejection bins. For example,when three copies of data (where 1 copy=2 pages) are outputted, first,page 1 is ejected to bins 1 through 3 and page 2 is subsequently ejectedto bins 1 through 3. Usually, an intermediate object which is generatedby analyzing the PDL data is repetitively rendered the same number oftimes as the number of copies, thereby outputting the same page.Therefore, it is sufficient to analyze the PDL data once per page.Accordingly, in the plural copy print method using both page copy and amechanical sorter, engine performance of the printer can be made themost of, as long as it is limited to an output of the same page.Further, since the rendered page data which has been outputted can bealso successively erased, a memory can be efficiently used.

The second method is a method whereby a page image (bit map image)rendered at the time of the PDL analysis of the first copy is stored inan external storing device such as a hard disk or the like together withpage information indicative of an outputting order or the like and therendered page image is reused at the time of outputting the second andsubsequent copies (the print data of only one copy is received in amanner similar to the first method). According to the second method, thepage image is read out from the hard disk and directly shipped to anengine, thereby outputting the second and subsequent copies. Accordingto the second method, since the print data need not be analyzed when thesecond and subsequent copies are outputted, the page image can beoutputted at a high engine speed irrespective of the contents of theprint data.

The conventional techniques, however, have problems as will be explainedhereinbelow.

That is, according to the first method, since the PDL data is analyzedthe designated number of times, particularly, in case of complicateddata contents of a heavy analysis load, the page image cannot beoutputted at a high speed.

Even in the case where the apparatus has the mechanical sorter, when thetotal number of copies to be outputted exceeds “the maximum number ofcopies which can be sorted at once by the sorter”, it is necessary toanalyze the PDL each time. That is, if (the number of copies=8) isdesignated for the sorter having seven paper ejection bins, the PDL hasto be analyzed twice (the first copy and the eighth copy).

According to the second method, although it is sufficient to analyze thePDL once irrespective of the designated number of copies, an overhead atthe time of storing the page image onto the HD or the like uponoutputting the first copy occurs. Consequently, there is also a casewhere the outputting speed becomes contrarily slow in dependence on thedata.

SUMMARY OF THE INVENTION

The invention is made in consideration of the above circumstances and itis an object of the invention to efficiently print in consideration ofthe relation between the number of print copies and a mechanical sorter.

To accomplish the above object, according to the invention, there isprovided an image processing apparatus for outputting a page imagecorresponding to print data inputted from an outside. The apparatuscomprises analyzing means for analyzing the print data at the time ofoutputting a first copy and generating a page image, image spoolingmeans for holding the page image at the time of outputting the firstcopy, page image reading means for reading out the spooled page image atthe time of outputting second and subsequent copies, mechanical sortingmeans for performing mechanical sorting and paper ejection of each copy,discriminating means for discriminating whether the mechanical sortingmeans can be used or not and discriminating the maximum number ofsorting page images which can be processed at once by the mechanicalsorting means, and switching means for, when a plural copy print isdesignated, discriminating whether the image spooling means and the pageimage reading means are used or not in accordance with a discriminationresult of the discriminating means and the designated number of copies.

The above and other objects and features of the present invention willbecome apparent from the following detailed description and the appendedclaims with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram for explaining a schematic construction of alaser beam printer to which the invention can be applied;

FIG. 2 is a cross sectional view showing an internal structure of thelaser beam printer shown in the first embodiment;

FIG. 3 is a block diagram for explaining a fundamental construction of acontroller of an image processing apparatus shown in the firstembodiment;

FIGS. 4A and 4B are block diagrams showing a processing procedure for aplural copy print (copy No. mode: a) in the first embodiment;

FIGS. 5A and 5B are diagrams explaining a paper ejecting order due to adifference of the plural copy print mode at the time when a sorting unitis attached;

FIG. 6 which is comprised of FIGS. 6A and 6B is a flowchart showing aprocessing procedure (mainly, page image generating process of the firstcopy) of a print job in which the plural copy print is designated in thefirst embodiment;

FIG. 7 is a flowchart showing a processing procedure for the second andsubsequent copies in the plural copy print (copy No. mode: a) in thefirst embodiment;

FIG. 8 is a diagram showing a data format (file format at the time whenit is stored in a hard disk) of page information which is generated tothe first copy in the copy No. mode (a);

FIG. 9 is a diagram showing a data format (file format at the time whenit is stored in a hard disk) of a page image which is generated to thefirst copy in the copy No. mode (a) and shows the page image of onepage;

FIGS. 10A, 10B, and 10C are memory maps showing the contents in anobject memory 305 a of one page, a block diagram showing an outline of alink configuration between draw information/object, and a diagramshowing a construction of the draw information; and

FIG. 11 is a diagram showing an example of print jobs (print commands)which are sent from a host computer to the image processing apparatusand instruct the plural copy print.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment

The first embodiment of the invention will now be described hereinbelowwith reference to the drawings.

First, a construction of an image processing apparatus suitable forapplying the invention will be described with reference to FIGS. 1 and2. FIG. 1 is a block diagram showing a schematic construction of theimage processing apparatus to which the invention can be applied andshows a case of, for example, a laser beam printer. The image processingapparatus to which the invention can be applied is not limited to thelaser beam printer but can be also applied to printers of other printingsystems. The invention can be applied to any apparatus, irrespective ofa difference of equipment constructions, such as a monochromatic printeror a color printer, or the like. Further, the invention is not limitedto printers but can also be applied to other equipment, as long as itcan execute the functions of the invention.

In FIG. 1, reference numeral 101 denotes external equipment (an externalsource), such as a host computer or the like, and 102 indicates a laserbeam printer main body, to which the embodiment is applied.

The laser beam printer 102 receives print data (character code, figuredata, image data, etc.) of a page description language (PDL) format fromthe host computer 101, generates a corresponding character pattern,figure pattern, or the like in accordance with the print data, and formsan image onto a recording paper (print sheet) as a recording medium. Inthe laser beam printer, the character pattern can be registered into adata storing unit (not shown), and form data, macro data, and the likecan also be registered therein. A page image is generated in accordancewith the print data in the storing unit in a manner similar to the printdata received from the host computer 101.

Reference numeral 103 denotes a printer control unit (main controller)for controlling a main section of the printer 102 and analyzing theprint data (character information or the like), which is supplied fromthe host computer 101. The main controller 103 is connected to a printerengine unit 105, and also functions as a video controller for generatingpage information comprising dot data based on the print data andsequentially transmitting the dot data (video signal) to the printerengine unit 105.

The printer engine unit 105 actually forms a latent image onto aphotosensitive drum in accordance with the dot data (video signal) andthermally fixes it onto the paper, thereby printing.

Reference numeral 104 denotes an operation panel on which switches foroperation, an LED display, and the like are arranged. By operating theoperation panel 104, the operator (user) can designate a predeterminedoperation, or can set print environments or the like of the printer 102.

An option controller 106 has a CPU, a ROM, a RAM, and the like (notshown), and is a controller for integratedly controlling one or moreoption units on the basis of a paper ejection designation signal or thelike, which is transferred from the main controller 103. The optioncontroller 106 communicates with option controller units equipped forvarious option units through an option unit interface and integratedlycontrols the various option units.

Reference numeral 108 denotes a paper ejection option unit, for example,a sorter option unit having a sorting function. The paper ejectionoption unit 108 has a sorter controller 108 a therein and executes thesorting operation and paper ejecting operation on the basis of controlinformation which is transmitted from the option controller 106. Thesorter controller 108 a has a CPU, a ROM, and a RAM (none of which areshown), and the CPU controls the paper ejection option unit 108 on thebasis of a program stored in the ROM. Expansion information of the paperejection option unit 108, for example, information such as the number ofpaper ejection bins, the presence or absence of the sorting function,and the like is stored in the ROM.

A section 108 b having a display unit and various keys is provided forthe paper ejection option unit 108. The option unit 108 can displaymessages to the user, an operating method, and the like, at the time ofusing each option and operating method.

Although a paper feed option unit such as a sheet cassette of a largecapacity can be generally also connected to the option controller 106,it is not shown and its detailed explanation is omitted in theembodiment.

Reference numeral 109 denotes a printer main body unit (printer controlunit) comprising the printer engine unit 105 for controlling a printingprocess, main (video) controller 103, and option controller 106 forintegratedly controlling various option units.

FIG. 2 is a cross sectional view showing an internal structure of thelaser beam printer 102 to which the invention can be applied and mainlyillustrates a construction of the printer engine unit 105 and optionunits.

The same component elements as those in FIG. 1 are designated by thesame reference numerals and their descriptions are omitted here. In thediagram, reference numeral 230 denotes a sheet cassette having amechanism for holding recording papers (print sheets) S and electricallydetecting a size of print sheet S by a partition plate (not shown).Reference numeral 231 denotes a cassette paper feed clutch serving as acam for separating only a top one of the print sheets S stacked on thesheet cassette 230 and conveying the separated print sheet S by drivingmeans (not shown) to paper feed rollers 204. Each time the print sheetis, fed, the clutch 231 is intermittently rotated, thereby feeding oneprint sheet in correspondence to one rotation. Reference numeral 230 sdenotes a print sheet detecting sensor for detecting a quantity of printsheets S held in the sheet cassette 230, and 227 indicates a resistshutter for pressing the sheet and stopping the paper feed. The paperfeed rollers 204 convey a front edge portion of the print sheet S to theresist shutter 227. Reference numeral 202 denotes a manual insertiontray for stacking the print sheets S; 203 denotes a manual insertionpaper feed clutch for conveying the print sheet S stacked on the manualinsertion tray 202 to the resist shutter 227; and 233 denotes optionpaper feed rollers (paper feed relay conveying rollers) for supplyingthe print sheet S fed from a paper feed option 107 into the printer 102.

A resist roller pair 205 for synchronously conveying the print sheet Sis provided downstream of the manual insertion paper feed clutch 203,cassette paper feed clutch 231, and option paper feed rollers 233. Animage recording unit 207 for forming a toner image onto the print sheetS by a well-known electrophotographic process by a laser beam emittedfrom a laser scanner unit 206 is provided downstream of the resistrollers 205.

In the laser scanner unit 206, reference numeral 215 denotes a laserunit for emitting the laser beam on the basis of an image signal (VDOsignal) which is sent from the main controller 103. The laser beamemitted from the laser unit 215 is scanned by a polygon mirror 216,thereby forming a latent image onto a photosensitive drum 220 through animage pickup lens group 218 and a return mirror 219. Reference numeral217 denotes a beam detector for detecting the laser beam emitted fromthe laser unit 215 and generating a main scan sync signal. Referencenumeral 270 denotes a light amount sensor for detecting a light amountof the laser beam emitted from the laser unit 215.

In the image recording unit 207, reference numeral 222 denotes a primarycharging device for uniformly charging the surface on the photosensitivedrum 220; 223 denotes a developer which is charged by the primarycharging device 222. The latent image which was exposed by the laserbeam of the laser scanner unit 206 and formed on the photosensitive drum220 is developed by the developer 223 using toner. Reference numeral 224denotes a transfer charging device for transferring the toner image onthe photosensitive drum 220 developed by the developer 223 onto theprint sheet S which is fed by the resist rollers 205. Reference numeral225 denotes a cleaner for removing the remaining toner on thephotosensitive drum 220, and 221 indicates a pre-exposure lamp foroptically deelectrifying the photosensitive drum 220.

Reference numeral 208 denotes a fixing device for thermally fixing thetoner image formed on the print sheet S by the image recording unit 207onto the print sheet S; 210 denotes conveying rollers for conveying andejecting the print sheet S; 209 denotes a paper ejection sensor fordetecting a paper ejecting state of the print sheet S; 211 denotes aflapper for switching the conveying direction of the print sheet S whoserecording has been completed to a stacking tray 213 side or the paperejection option unit 108 side; 214 and 212 denote paper ejection rollersfor ejecting the print sheet S which is conveyed by the switching of theflapper 211 onto the tray 213; and 213 s denotes a paper ejection stackamount detecting sensor for detecting a stack amount of the print sheetsstacked on the tray 213.

An engine controller 105A in the printer control unit 109 controls theelectrophotographic process which is executed by the laser scanner unit206, image recording unit 207, and fixing device 208, and controlsconveyance of the print sheet in the printer 102.

Further, the main controller 103 is connected to the external equipment101 such as a personal computer or the like by a general interface (forexample, Centronics, RS232C, USE, etc.), develops image informationwhich is sent through the general interface into bit data, and transmitsthe bit data as a VDO signal to the engine controller 105A through thevideo interface.

The various option units detachably connected to the printer main body109 will now be described.

The option controller 106 shown in FIG. 1 is provided in the printermain body shown in FIG. 2 and can communicate with the various optionunits by a same protocol through an option unit interface serving as acommon bus. The option controller 106 is connected to the maincontroller 103 through an integrated interface.

Reference numeral 107 denotes the paper feed option unit, such as apaper deck option unit or the like, and its detailed description isomitted here.

In the paper ejection option unit 108 such as a sorter option unit orthe like, reference numerals 251 to 257 denote first to seventh paperejection bins each for performing a face-down paper ejection, sortingthe recorded print sheets S, and stacking them. Reference numeral 258denotes an eighth paper ejection bin for allowing the sheet conveyedinto the sorter option to pass straight as it is and performing aface-up paper ejection. Reference numeral 280 denotes a flapper forswitching the conveyance of the print sheet S whose direction has beenswitched by the flapper 211 of the printer 102 and sent to the sorteroption unit 108 so as to switch the face-up/down state of the sheet onthe basis of an instruction from the main controller 103. Referencenumerals 261 s to 268 s denote paper ejection empty detecting sensorsfor detecting the presence or absence of the stacked sheets of the printsheets which are ejected to the first to eighth bins 251 to 258,respectively.

Further, paper ejection stack amount detecting sensors 271 s to 278 sare full stack detecting sensors. At a point when a height of printsheets stacked on each of the first to eighth paper ejection bins 251 to5258 reaches, for example, 18 mm (corresponding to about 120 sheets) (ata point when each sensor detects it), the sorter controller 108 anotifies the main controller 103 of a state where the bin is filled withthe print sheets through the option controller 106. About 120 sheets(total about 960 sheets can be stacked onto eight bins) can be stackedonto each of the first to eighth paper ejection bins 251 to 258. Amongthem, the sort paper ejection can be performed to the first to seventhpaper ejection bins 251 to 257.

If a face-up mode is designated by the main controller 103 through theintegrated interface, the face-up flapper 280 is turned on to therebydistribute the print sheet. The distributed print sheet S is sent as itis to a paper ejection port by rollers 290. In the case where aface-down mode is designated by the main controller 103 through theintegrated interface″ the face-up flapper 280 is turned off to therebydistribute the print sheet. The distributed print sheet S is conveyedonce until a rear edge of the print sheet S passes beyond the face-upflapper 280, rollers 291 are subsequently reversely rotated, and theprint sheet is conveyed to a vertical path from the rear edge of theprint sheet S. Bin flappers 281 to 286 are driven at a predeterminedtiming by the designated paper ejection bins to thereby distribute theprint sheet to each face-down paper ejection port. The paper ejection iscompleted in a face-down state. If the paper ejection bin is the seventhpaper ejection bin 257, the paper ejection is performed as it is withoutdriving the bin flappers, thereby completing the face down paperejection.

Further, if a stapling mode is designated by the main controller 103through the integrated interface, a stapler (not shown) stacks the printsheets S onto a stapling tray (not shown), arranges the print sheets S,executes the stapling operation, and ejects the sheets to one of thefirst to eighth paper ejection bins 251 to 258. If a shifting mode isdesignated by the main controller 103 through the integrated interface,in a manner similar to the case where the stapling mode is designated,the print sheets S are stacked onto the stapling tray (not shown) andarranged, the print sheets S are shifted in a state where they are puton the tray, namely, the stacking position (tray) of the print sheets Sto be ejected is shifted, and thereafter, the sheets are ejected to oneof the first to eighth paper ejection bins 251 to 258. The apparatusalso has a staples remaining amount detecting sensor (not shown),thereby detecting a remaining amount of the staples enclosed in thestapler.

The sorter option unit 108 is controlled by the sorter controller 108 a.

The option controller 106, paper deck option unit 107, and sorter optionunit 108 are connected by connectors, respectively, and perform serialcommunication by the option unit interface. Since they are seriallyconnected by the same connector, the paper deck option unit 107 andsorter option unit 108 can be connected by replacing their connectingorder.

The resist roller pair 205, paper feed rollers 204, and conveyingrollers 244 for conveying the print sheet S are provided downstream ofthe manual insertion paper feed clutch 203, cassette paper feed clutch231, and a paper deck feed roller 242, respectively. The image recordingunit 207 for forming the toner image onto the print sheet S by the laserbeam emitted from the laser scanner unit 206 is provided downstream ofthe resist roller pair 205. Further, the fixing device 208 for thermallyfixing the toner image formed on the print sheet S is provideddownstream of the image recording unit 207. The paper ejection sensor209 for detecting the conveying state of the paper ejecting section, theconveying rollers 210 for conveying the print sheet, the flapper 211 forswitching the conveying direction of the print sheet S whose recordinghas been completed, and the like are provided downstream of the fixingdevice 208.

FIG. 3 is a block diagram for explaining a fundamental construction ofthe image processing apparatus according to the first embodiment of theinvention. An internal construction of the main controller 103 of theimage processing apparatus in FIG. 1 is mainly shown. The invention canbe also applied to either sole equipment or a system whose processes areexecuted through a network such as LAN or the like, as long as thefunctions of the invention are executed.

In the diagram, the main controller 103 of the printer is connected tothe external host computer 101 through a predetermined interface 308 andexecutes a predetermined printing process in accordance with the printdata sent from the host computer 101. The print data received from thehost computer 101 is first temporarily stored as reception data into areception buffer 307.

Reference numeral 301 denotes a printer CPU for integratedly controllingaccess to various devices connected to a system bus 306, on the basis ofa control program 303 stored in a ROM 302 as a read only memory.

First, the print data (PDL data) stored in the reception buffer 307 isstored in a hard disk 310 by a print data reader/writer 303 a and,thereafter, immediately read out. The PDL data is analyzed by a printdata analyzer 303 b and a draw object of at least one page is generated.That is, the print data analyzer can be also regarded as a draw objectgenerator or a PDL translator.

Subsequently, a raster image (=page image) of one page (or one bandamong a plurality of divided bands) is generated by an object drawer 303c on the basis of the draw object. Further, a video signal based onON/OFF of a bit of the raster image is outputted (the output of thevideo signal is referred to as “ship” hereinbelow) to the printer engineunit 105 through an engine I/F 309. The printer engine unit 105 printsan image onto a print sheet (recording paper) 201 on the basis of thevideo signal received from the CPO 301.

According to a banding system such that a plurality of (for example,two) band rasters obtained by dividing a page into a band shape areprepared and a print is performed, the generation of the raster imageand the shipping operation are simultaneously performed. That is, whileone of the drawn band rasters is shipped, a draw object belonging to theother is drawn.

Besides the generation of the draw object, the print data analyzer 303 balso executes a process for detecting the start/end of a print job andgenerating/releasing a job table (which will be explained below) formanaging each job under processing or a process for sending aninstruction to the option controller 106 via the system bus for thepurpose of switching the paper ejection ports, or the like.

The control program 303 is constructed as a program for realizing thefollowing functions besides the above construction.

That is, the control program 303 comprises a copy number (No.)discriminator 303 d for discriminating whether a plurality of copieshave been designated in the print job or not, a page image reader/writer303 f for, when a plurality of copies have been designated in the printjob, compressing a page image generated by the object drawer 303 c and,thereafter, performing a storage, reading, and decompression of thecompressed page image into/from the hard disk 310, and a mode switch fordeciding a plural copy output mode on the basis of a discriminationresult of the copy No. discriminator 303 d and the presence or absenceof the paper ejection option unit.

It is assumed that the information indicative of the presence or absenceof the paper ejection option unit is obtained from the option controller106. The mode switch 303 e determines the copy No. mode from thefollowing two plural copy output modes.

(Mode: a)

The second and subsequent copies are outputted by using the page imagereader/writer 303 f.

(Mode: b)

The sorter is used in common, the page image reader/writer 303 f is notused, but only the print data reader/writer 303 a, print data analyzer303 b, and object drawer 303 c are used.

When the second and subsequent copies in the plural copy print in thecopy No. mode (a) are outputted, the page image reader/writer 303 fsequentially reads out and decompresses the page images stored in thehard disk 310 and, thereafter, ships the decompressed page images to theengine I/F 309.

The ROM 302 is also used as a memory for storing font data comprisingdot fonts or scalable fonts which are used for a character output (fontROM 304).

Subsequently, reference numeral 305 denotes a RAM which functions as amain memory, a work memory, or the like of the CPU 301. A memorycapacity of the RAM 305 can be expanded by an option RAM which isconnected to an expansion port (not shown). The RAM 305 is used as anobject memory 305 a for storing a draw object generated by the printdata analyzer 303 b, a work memory 305 e which is temporarily used bythe control program 303, a band buffer 305 c for storing raster imagescorresponding to two planes of band areas obtained by dividing one pageinto band-shaped regions, a page image memory 305 d for temporarilystoring the page images read out by the page image reader/writer 303 fprior to sending them to the engine, and a job table 305 b forsequentially managing the received print jobs. The RAM 305 is furtherused as a font cache memory (not shown) for caching the characterpatterns developed on the basis of the scalable data in the font memory304, or the like.

The job table 305 b comprises: a job ID, the total number of copies, andthe copy No. mode which are sequentially allocated to each job; statusinformation such as the number of outputted copies, the number ofoutputted pages (it is updated whenever each copy is outputted), etc.;and the like.

The work memory 305 e is used when the page image reader/writer 303 fcompresses the page image rendered in the band buffer or reads out anddecompresses the compressed page image from the hard disk 310, or isused for temporarily holding the layout information of each page, or thelike.

Although the embodiment has been constructed so as to print on the basisof the banding system, it is also, possible to construct the band buffer305 c as a page buffer which can hold raster images of one page andperform a drawing/shipping process by a full-paint system. Further, theembodiment can be also constructed so that the banding system and thefull paint system can be switched by an instruction from the operationpanel, or the like or either one of them can be also fixedly used.

An electric power is also supplied from a power source unit (not shown)to the laser beam printer 102. Although the embodiment has beendescribed on the assumption that the print data and the page images arestored in the hard disk 310, they can be also stored in a non-volatilememory such as a flash memory, the RAM 305, or a storing device withanother construction.

Although the embodiment has been described on the assumption that theapparatus constructing the invention is supplied as a program stored inthe ROM, the invention is not limited to such an example but can be alsoconstructed in a manner such that it is supplied by a medium such asfloppy disk, hard disk, or the like and loaded into the RAM or the likeprior to execution and, thereafter, it is executed. The invention can bealso embodied by installing the control program from a storage mediumsuch as CD-ROM, CD-R, memory card, DVD, or the like through a drive (notshown) and controlling it. Claims of the invention incorporate thosecases.

Subsequently, a processing procedure for the plural copy print in theimage processing apparatus with the above construction will be describedhereinbelow with reference to block diagrams of FIGS. 4A and 4B,schematic diagrams of FIGS. 5A, 5B, 8, 10A, 10B and 10C, and flowchartsof FIGS. 6A, 6B and 7.

First, in FIGS. 4A and 4B, a flow of data in the plural copy print (copyNo. mode: a) will be described. FIG. 4A shows a state where the firstcopy is being processed. FIG. 4B shows a state where the second andsubsequent copies are being processed. The same component elements asthose in FIG. 3 are designated by the same reference numerals.

First, when the first copy is outputted (FIG. 4A), while the print datais temporarily stored in the reception buffer 307 (arrow A), it isstored as it is into the hard disk on a unit basis of an amount of onejob (arrow B). The data is read out to analyze the PDL in parallel withthe above process (arrow C).

Subsequently, the draw objects, which are generated as a result of thesequential analysis of the print data, are stored in the object memory305 a (arrow C). After generating the data of one page, it is renderedin the band buffer 305 c and the band images are generated (arrow D).The generated band images are sequentially compressed by a predeterminedcompression format such as PackBits or the like and the compressedimages of one page are stored into the hard disk 310 (arrow E). At thistime, each band image 402 (shown by hatched regions) is stored into thehard disk while setting the images of one page to one file (1 file=shownby a broken line). Upon outputting the images of the second andsubsequent copies, they are stored together with page IDs necessary toidentify the respective page images. The page ID is set to a numericalvalue which sequentially increases from the turn-on of a power source.The page IDs are managed so that the same 1D does not simultaneouslyexist (a construction of the page image will be explained with referenceto FIG. 9).

Subsequently, after the band images of one page were fully stored, theband images are sequentially read out (arrow F) and shipped to theengine I/F 309 (arrow G). That is, although not shown for simplicity ofexplanation, in case of the banding system, the output of the pageimages of one page is completed by repeating the data flow of D to F thenumber of times corresponding to the number of bands. Although theexplanation has been made with respect to the case where the ship isstarted after completion of the storage of all of the page images of onepage into the hard disk, it is also possible to construct the apparatusin a manner such that the storage (E) into the hard disk and the ship(G) are simultaneously performed every band so long as such simultaneousoperations can be executed in time corresponding to a processing speedof the engine.

The output of the first copy is completed by repeating the processesshown in FIG. 4A until the print job is finished.

Subsequently, when the second and subsequent copies are outputted (FIG.4B), first, the page images 402 stored in the hard disk are sequentiallydecompressed and read out and stored into the page image memory 305 d inorder of pages (page ID order) (arrow H) and outputted to the engine I/F309 (arrow I). By outputting the page images by using the band buffer305 c and another area (305 d) as mentioned above, while the second andsubsequent copies are being outputted, the page images of the subsequentprint job can be precedingly generated (in the case where the pluralcopy print has been also designated in the subsequent print job).

The shipping operation to the engine I/F 309 can be performed on a bandunit basis or can be also started after all of the page images of onepage were read out and stored into the page image memory 305 d as in theembodiment. However, in case of performing the shipping operation on aband unit basis, the reading process from the hard disk 310 and thedecompressing process have to be executed at a speed that issufficiently higher than a paper conveying speed of the engine. In caseof starting the ship after completion of the reading of the page imagesof one page, as a page image memory 305 d, a capacity such that at leastthe page images of one page can be stored has to be prepared.

By repeating the reading process shown in FIG. 4B a number of timesequal to (the number of pages of one job)×(the designated number ofcopies −1), the plural copy print is completed. Since the output of thefirst copy has been completed at the time the page images are generated,it is sufficient that the number of repetitions is set to (thedesignated number of copies −1).

FIGS. SA and 5B are schematic diagrams for explaining a paper ejectingorder according to a difference of the plural copy print mode at thetime when the sorter is attached. FIG. 5A shows the mode (b) (the modeusing only the print data reader/writer 303 a, print data analyzer 303b, and object drawer 303 c; the sorter being used in common). FIG. 5Bshows the mode (a) (the mode using the page image reader/writer 303 f).

An explanation will be made on the assumption that the sorter in theembodiment has five paper ejection bins (bin 1 to bin 5) and can sort upto five copies at once. In the diagrams, the copy and each page aredescribed as “copy-page” and it is assumed that “2-3” denotes page 3 ofthe second copy. Further, an outputting order of the sheets is shown byarrows (order of A, B, C, . . . , F).

First, in the mode (b) shown in FIG. 5A, the copies of the designatednumber of copies of the same page are outputted at once. That is, afterfive copies of the first page were outputted in order of 1-1, 2-1, 3-1,4-1, and 5-1 (arrow A), the copies are subsequently outputted in orderof the second page (arrow B), the third page, . . . . At this time, ifthe number of copies is equal to or less than 5, the analysis of the PDLdata and the generation of the draw objects are executed only once. Incase of outputting every five copies, the same draw object is renderedand shipped five times, thereby realizing the invention (namely, thoseprocesses are similar to those of the conventional page copy and thehighest throughput of the printer engine can be maintained).

The distribution to each face-down paper ejection port (switching of thepaper ejection ports) is performed by driving the bin flappers 281 to286 at predetermined timings every page in accordance with aninstruction from the option controller 106. In case of outputting fiveor more copies in the mode (b) (conventional example), the analysis ofthe PDL is executed again every sixth copy and eleventh copy.

In the mode (a) shown in FIG. 5B, after the first copy of all pages isoutputted in order of 1-1, 1-2, . . . , 1-n (arrow A), the copies aresubsequently outputted in order of the second copy (arrow B), the thirdcopy, . . . . At this time, although the first copy is outputted whileanalyzing the PDL data and storing/reading out the page images into/fromthe hard disk (FIG. 4A), with respect to the second and subsequentcopies, since the stored page images are merely read out, it issufficient to analyze the PDL data once irrespective of the number ofcopies.

Subsequently, a processing procedure for the plural copy print will nowbe described hereinbelow with reference to flowcharts of FIGS. 6A and6B.

In the embodiment, it is assumed that the plural copy print isinstructed by a copy No. command in the print data, and the designationof the copy No. command issued prior to a paper ejection command of thefirst sheet is validated. This is because when the paper ejectioncommand of each page is received/processed (when the page image isgenerated), the image processing apparatus in the embodiment has todecide whether the page image is held in the hard disk or not.

In the flowcharts of FIGS. 6A and 6B, for simplicity of explanation, anerror process which is executed in the case where there is the copy No.command after the paper ejection command of the first page or the likeis omitted and an explanation will be made. It is also possible toconstruct the apparatus so that the number of copies can be designatedfrom the operation panel or the like and the copies are outputted by acommand other than the copy No. command.

In the flowchart, according to the control program 303, the print datasent from the host computer 101 through the predetermined interface 308is first stored in the reception buffer 307 in step S601. Subsequently,whether the unprocessed print data exists in the reception buffer 307 ornot is discriminated (step S602). If NO, the processing routine isfinished.

When the unprocessed print data exists, the print data is analyzed instep S603 and subsequent steps.

First, in step S603, the print data temporarily stored in the receptionbuffer 307 is stored in the hard disk 310 and, at the same time, theprint data analyzer 303 b reads out the print data in order to analyzeit.

In step S604 and subsequent steps, the unprocessed print data (a groupof print commands of the PDL format) is sequentially analyzed. First,whether the print data is a head of the print job or not isdiscriminated (step S604). That is, whether the received print data isthe job start command or not is discriminated. If YES, a job table isnewly got (step S622). The number of processed pages is initialized to 0(step S623). The processing routine is returned to step S601 in order toanalyze the subsequent print data. The number of processed pages isreferred to when the second and subsequent copies are outputted in themode (a) (FIG. 7).

A job ID by which the print job can be unconditionally identified isgiven as a parameter of the job start command and stored in the jobtable and the hard disk together with the page image. When the secondand subsequent copies in the plural copy No. mode (a) are processed, thepage images are searched by the job ID. (The page images which arestored in the hard disk, and a data configuration of the pageinformation will be described below with reference to FIGS. 8 and 9.)

If it is determined in step S604 that the received print data is not thejob start command, whether the print data is the copy No. command or notis discriminated (step S605). If it is decided that the print data isthe copy No. command, the designated number of copies is stored as thetotal number of copies into the job table 305 b.

If it is determined in step S605 that the print data is the copy No.command, the number of copies is held in the job table and the copy No.mode is decided (step S624). That is, if the sorter is not attached orthe number of copies is larger than a reference value 5, the copy No.mode is set to (a), otherwise, the copy No. mode is set to (b). (Thecopy No. mode is also held in the job table).

The number of paper ejection bins which the printer engine unit 105 hascan be also used as a reference value. It is more suitable if outputs ofthe paper ejection empty detecting sensors and paper ejection stackamount detecting sensors are analyzed, the valid paper ejection binswhich can be used are discriminated, and the number of valid paperejection bins is used as a reference value.

By setting the copy No. mode (b) as an initial value at the time ofgetting the job table (step S622), the copy No. mode is all handled as(b) in case of the print job which is not accompanied with the copy No.command or the case where 1 is designated as the number of copies.

If it is determined in step S605 that the print data is not the copy No.command, whether it is a paper ejection command (form feed code) or notis subsequently discriminated (step S606). If NO, it is regarded thatthe print data is another print command and the analysis is continued instep S607 and subsequent steps. In the embodiment, the case of acharacter print command has been described as an example of a drawcommand and the description of the other commands is omitted in mass(those page analyzing procedures can be similar to the existinganalyzing procedure of the page description language).

If the print command is not the paper ejection command, first, whetherthe print command is the character print command or not is discriminatedin step S607. If NO, whether the print command is a job end command ornot is discriminated in step S613. If it is not the job end command, theprint command is regarded as another print command for figure drawing orthe like, and a suitable object is generated, and if it is a printposition shift command or the like, predetermined draw information isupdated (step S614).

If it is the job end command, whether the copy No. mode has been set to(a) or not is discriminated in step S615. If NO, a process for releasingthe job table is performed (step S617). The processing routine isreturned to step S601 in order to process the subsequent print job. Ifthe copy No. mode is set to (a) in step S615, a copy end flag (whichwill be explained below) is written as page information into the harddisk and, thereafter, step S616 follows in order to output the remainingcopies of the second and subsequent copies. (A process in step S616 willbe described in detail below with reference to FIG. 7). In a generalsystem which can perform multitask processes, it is also possible toconstruct the system in such a manner that the outputting process of thesecond and subsequent copies and the analyzing process of the foregoingprint data (of the next job) can be performed in parallel.

If the print data is the character print command in step S607, whetherthe same character pattern has been generated in a font cache memory issearched (steps S608 to S609). If it is determined in step S609 that thecharacter pattern has already been generated, namely, if the search hasbeen hit, draw information necessary to draw the generated characterpattern is generated as a font cache (step S612).

That is, the draw object is not newly generated but only informationsuch as a print position or the like that is necessary for rendering isgenerated. If the same character pattern is not found in step S609, afont scaler generates the character pattern corresponding to thedesignated character code of a current font (step S610). The draw objectis generated (step S611). In the embodiment, although the draw objectindicative of the character pattern is set to the bit map pattern, theinvention is not limited to it but a process for compressing by apredetermined compression format can be also performed to characters ofa predetermined pattern size or smaller. Subsequently, in a mannersimilar to the case of hitting at the time of search, the drawinformation is generated and the analysis of one command is finished(the draw object and a construction of the draw information will bedescribed with reference to FIGS. 10A to 10C).

If it is decided in step S606 that the print command is the paperejection command, the number of processed pages is increased by “1”(step S618). The draw objects of one page are rendered and the pageimage is generated (step S619). That is, the draw objects of one pagegenerated in steps S611 and S614 are drawn as a bit map image expressingthe page contents on the basis of the contents in each correspondingdraw information (generated in step S612) in accordance with theexisting rendering system. The page image is temporarily held in thepage image memory 305 d.

Whether the copy No. mode has been set to (a) or not is discriminated instep S620. If it is the copy No. mode (a), the band image is compressedand stored in the hard disk 310 and, thereafter, it is shipped (stepS621). After completion of the rendering of one page and the storageinto the hard disk, the processing routine is returned to step S601 inorder to analyze the print data of the next page.

Although the embodiment has been constructed in a manner such that aftercompletion of the rendering of one page for simplicity of explanation,the subsequent print data is analyzed, in the image processing apparatussuch as a laser beam printer or the like, usually, the rendering and theanalysis of the print data can be simultaneously performed by themultitask process. Although the embodiment has been described on theassumption that after completion of the rendering of one page, the pageimages are stored in a lump into the hard disk, it is also possible tosequentially repeat the rendering and storage every band.

If it is determined in step S620 that the copy No. mode is not set to(a), namely, in case of the copy No. mode (b), the page images are notstored into the hard disk but only the ship to the engine is performed(step S625), and the processing routine is returned to step S601. If thenumber of copies is equal to or larger than 2, the engine is controlledso as to repeat the shipping process of the page images, output theimages as many as the number of copies, and switch the paper ejectionbins every page.

By the processing procedure described above, in case of the copy No.mode (a), each page is rendered and, at the same time, the page imageand page information are spooled on the hard disk, and the processes ofthe first copy of the plural copy print are finished. In case of thecopy No. mode (b), the output of the images as many as the number ofcopies is finished by the page copy using the sorter in common withoutstoring the page images.

FIGS. 10A, 10B, and 10C are diagrams, FIG. 10A showing a memory map inthe object memory 305 a of one page and, and FIGS. 10B and 10C showingschematic constructions of a draw object and draw information. First, inFIG. 10A, reference numeral 1001 denotes a page information header forstoring various information of each page. The header 1001 is constructedby information to be managed every page, namely, a print resolution ofthe page, a paper size, a color mode, the number of band rasters m, thetotal capacity (memory use amount) of the draw object belonging to thepage, a page state (drawn/in shipping, etc.), a page ID number (page ID)of the pages which are sequentially counted from the turn-on of thepower source, and the like.

The information included in the page information header section isdetermined from a current graphic state at a point when the process ofeach page is started. Assuming that a height of each band has beenfixed, the number of band rasters m is determined from a paper size anda print resolution. Reference numeral 1002 denotes a band table. Bandsof the number corresponding to the number of band rasters are preparedevery page. Draw information 1005 corresponding to the object which isdrawn in each band is linked to each band (FIG. 10B). Reference numeral1003 denotes a draw information memory for storing the draw information1005 of one page.

As will be described hereinbelow, each draw information 1005 shows atwhich position in each band and how each draw object is printed. In thefollowing description, the draw information is called “application”(abbreviated to “APPL1”). In the embodiment, each application 1005 and adraw object 1006 are generated and held in the draw information memory1003 and an object memory section 1004, respectively. However, they canbe also mixedly held in one memory area.

FIG. 10C is a schematic diagram showing a construction of oneapplication. The application is constructed so as to include thefollowing information as information for drawing each draw object 1006.That is, it includes a print position (bit offset value from the upperleft edge) in the band, a height of the draw object, a draw logic(AND/OR, or the like) with the band raster, background information (BGinformation), a head address of the corresponding draw object, an offsetamount (the number of lines) showing how many draw objects should beread-skipped in the case where the draw object is drawn on the way ofthe band, a kind of draw object (not shown), a head address of the nextapplication (the last of the link is set to NULL), and the like. It isnow assumed that the BG information is constructed by a gray level. Upondrawing, a dither pattern corresponding to the gray level is adhered asa background of each draw object.

In the case where the draw object is drawn over a plurality of bands,such a draw object has a plurality of applications. That is, a number ofapplications as great as the number of drawing times are allocated. FIG.10B shows a state where a character “A” is drawn by APPL 1 and APPL4 soas to exist over band0 and band1 and, further, drawn in bandm by APPL6.It will be understood that by tracing the linked application from band0,a bit map (APPL2) and a character “B” (APPL3) are also drawn in additionto the character “A”.

It is sufficient that each piece of information in the applicationsmentioned above has the number of bits which can express the designatedsheet at least by a designated resolution. The link between theapplications or the link with the draw object is not limited to theaddress in the RAM but can be also the link by the ID (in this case, itis converted into the address through a prepared ID table).

To draw each draw object every band and generate a band image by theabove construction, it is sufficient to sequentially read out each ofthe linked applications from the band table and draw the draw object inaccordance with the print position information stored in eachapplication. By repeating such processes up to a timing when the nextapplication address becomes NULL, the drawing ([[=]] rendering) processof one band is finished.

Subsequently, the page information which is stored in the hard disk instep S621 in FIG. 6 and a construction of the page image will bedescribed with reference to FIGS. 8 and 9.

FIG. 8 shows page information constructed by layout informationnecessary to output each page, job environments such as the total numberof copies which are common between the jobs, the number of generatedpages, and the like. The page information is stored as one file in thehard disk.

In the diagram, reference numeral 801 denotes a job ID forunconditionally identifying the print job; 802 denotes a size (thenumber of bytes) of page information; 803 denotes the number of pages nof the print job; 804 denotes an end flag which is set to “1” when thejob is finished; 805 denotes a size (the number of bytes) of jobenvironments comprising the number of copies and the like; 806 denotesjob environments; 807 denotes a size (the number of bytes) of layoutinformation of the first page; and 808 denotes layout information of thefirst page. (The information 807 and 808 is repetitively stored the samenumber of times as the number of pages.) In the case of constructing theapparatus in a manner such that the layout information of the same sizebetween the pages is stored, the size of layout information 807 does notexist.

It is also possible to construct the apparatus in a manner such thatonly a memory area is preliminarily allocated to the number of pages n803 and the number of processed pages which is increased by “1” everypage in step S618 is overwritten every page, or a value is written at apoint (at the time of the end of the job) when the output of all pagesof the first copy has been completed. A value is also set into the sizeof page information 802 in a manner similar to the number of pages n.

The job ID 801 can be also omitted so long as it is constructed lest aplurality of job information is held on the hard disk. That is, a casewhere the analyzing process of the subsequent print jobs is notprogressed during the plural copy print processing.

Further, the layout information 808 includes information (for example, asheet size, a kind of sheet, a print resolution, a print mode (doubleside/single side), a binding margin and a binding direction, aninstruction of a paper feed port/paper ejection port, and the like),which can change for each page. However, as layout information, there isno need to prepare all of the foregoing information. Rather, it issufficient to prepare only the information necessary for the drawingprocess which is executed by each image processing apparatus to whichthe invention is applied. For example, in the case where the sheet sizecannot be changed in one print job, it is sufficient to store the sheetsize into the job environments 806.

The job environments 806 are information that is common over the wholeprint job and, besides the number of copies, the job environments 806include items which are common between the pages (that is, a color mode(color/monochromatic), a print gradation, and the presence or absence ofdesignation of the stapling). When the layout information of the firstpage is written into the hard disk, the job environments 806 are alsooutput together. The layout information of the second and subsequentpages is stored as one file by additionally writing it into the samefile.

FIG. 9 shows a data configuration of the page image (a set of bandimages generated by analyzing the PDL data, rendering the draw object,and compressing the data) which is stored in the hard disk 310 in stepS621 (FIG. 6B).

In the diagram, reference numeral 901 denotes a job ID similar to thejob ID 801; 902 denotes a size (the number of bytes) of page image; 903denotes a page ID for unconditionally identifying the page; 904 denotesthe number of bands m included in the page; 905 denotes a size (thenumber of bytes) of image information 906; and 906 denotes the imageinformation which is common in each band image. The image information906 comprises a compression format of the band image, a sheet size, andthe like. Reference numeral 907 denotes a byte size and a band height(the number of dots) of the band image of the first band; and 908denotes a compressed band image itself. Subsequently, the band images ofthe same number as the number of bands m of the second and subsequentbands are sequentially stored.

The size of page image 902 is the sum of the byte size of bands 1through m, the size of image information, and the like, and the finalvalue is stored at the end of the job.

A file name which is unconditionally determined in the hard disk isallocated to each of the page images, thereby managing the page imagesin accordance with the existing disk managing method (for example, incase of page 1 of the print job having the job ID “100”, the page imageis identified by a file name “R0100_(—)01”), or a file name which is notdirectly concerned with the page ID or the like can be also allocated.In this case, however, it is necessary to read out the job ID 901 andpage ID 903 from each file and examine whether the page image is a pageimage corresponding to a desired page or not.

Although the embodiment has been constructed so as to store the pageimage into a different file every page, the invention is not limited tothis construction. It is also possible to store all of the page imagesincluded in the job into one file or, contrarily, store them as adifferent file every band.

Subsequently, a processing procedure (step S616 in FIG. 6B) of thesecond and subsequent copies for the print job having the copy No. mode(a) will be described with reference to a flowchart of FIG. 7.

In the diagram, first, the number of pages 803 is set with reference to“the number of processed pages” outputted until this time point (at theend of the job) in step S701. Subsequently, the number of copies “−1” isset into the number of remaining copies k (step S702).

The second and subsequent copies are outputted after that by repeatingthe processes in steps S703 to S709 until the value of k is equal to 0.First, in step S704, the number of pages is set to be the number ofremaining pages p. The page images of one copy are output by repeatingprocesses in subsequent steps S706 to S709 until the value of p is equalto 0.

First, the page information and page images stored in the hard disk aresequentially read out (steps S706 and S707) and the necessary layoutinformation is set. After that, the decompressed page images are readout and stored into the page image memory 305 d and, further, shipped tothe printer engine (step S708). Subsequently, the number of remainingpages p is decreased by “1” (step S709) and the processing routine isreturned to step S705 in order to process the next page. If it isdetermined in step S705 that p≦0, the number of remaining copies k isdecreased by “1” (step S712). The processing routine is returned to stepS703 in order to output the next copy.

When the output of all copies is finished (if it is decided in step S703that k information and page images stored in the hard disk are deleted(steps S710 and S711). The processing routine of the print job isfinished.

By the above processing procedure, in the print job in which the pluralcopy print has been designated, the page image generated upon outputtingthe first copy is used again at the time of outputting the second andsubsequent copies and the page images are outputted.

Subsequently, a construction of the print command (print job) forinstructing the plural copy print from the host computer to the imageprocessing apparatus will be described with reference to FIG. 11.

In the embodiment, the print job is constructed in a form in which it isfinely divided into one or more blocks (packets). A packet ID code of afixed size and a byte size of each packet are started at the head of thepacket. The print job has been packetized by the included contents, suchas a job control packet (ID code “aaaa”), a job environment settingpacket (ID code “bbbb”), a PDL data packet (ID code “ccc1”), etc. As forthe PDL data packet, since the data size varies depending on the outputcontents, a plurality of packets are usually continuously transmitted.However, the diagram shows a case where there is one PDL data packet forsimplicity of explanation. The job control packet and job environmentsetting packet can be also constructed so as to exist over a pluralityof packets. In driver software on the host computer side, it is assumedthat the print data is buffered and transmitted until a size of data tobe outputted is equal to a predetermined packet size.

The job control packet of the print job, in which the plural copy printhas been designated, includes the following information. That is, it isconstructed by:

-   -   a job start command indicative of the start of the print job,    -   a copy No. command (10 copies in this case),    -   a paper ejection mode (“continuous sorting” is fixed here), and        the like.

If the job IDs shown in FIGS. 8 and 9 can be managed on the hostcomputer side, it is also possible to construct the apparatus so as todesignate the job IDs as parameters of the job start command or properlydistribute them on the image processing apparatus side.

The subsequent job environment setting packet includes the followinggroup of commands for designating various environments (jobenvironments) which are uniform in the print job:

-   -   a print resolution command (600 dpi in the embodiment) for        setting a print resolution at which the subsequent PDL data        should be processed,    -   a binding margin command (5mm) for designating a mapping        position on the sheet of the print contents and binding        direction command (longitudinal direction) when the sheets are        bound,    -   a print surface command (single side) for designating whether        the print is performed to the single side or double side of the        sheet, and s    -   a PDL shift command (LIPS is activated) for instructing the        activation of a PDL analysis processing program in order to        process the print data.

Further, the subsequent PDL data packet includes the following group ofcommands in the PDL data format describing the draw contents of eachpage:

-   -   a PDL data start command indicative of the start of the PDL        data,    -   a sheet size command (A4) for selecting the sheet size of each        page,    -   various drawing commands for characters, figures, and the    -   a paper ejection (form feed) command,    -   a PDL data end command indicative of the end of the PDL data,        and the like.

(The various drawing commands and the paper ejection commands of thesame number as the number of pages to be outputted are included.)

Finally, a job end command for defining the end of the print job isadded.

Second Embodiment

In the first embodiment, since the paper ejection mode is fixedly set tothe continuous sorting mode and, at the time of the plural copy output,each copy is distributed to each paper ejection bin of the sorter andejected, the mode switch 303 e performs the switching operation on thebasis of only the presence or absence of the sorter and the designatednumber of copies as discrimination references. However, in case ofsupporting a plural paper ejection mode, the paper ejection mode isadded as a discrimination reference in the mode switch 303 e.

For example, in case of a paper ejection mode, such as “stack mode,” inwhich all of the plural paper ejection bins are regarded as one bin, a“user separating mode,” in which a name is preliminarily allocated toeach paper ejection bin and the sheet is ejected to the paper ejectionbin having the designated name, or the like, even if the number ofcopies is equal to or less than the number of copies which can be sortedat once by the sorter (namely, the number of bins), the copy No. mode isset to (a), the number of analyzing times of the PDL data is certainlyset to 1 and, at the same time, the data is always outputted every copy.

As described above, according to the embodiments of the invention, whenthe plural copy print is performed, the number of times of analysis ofthe PDL data is always set to only 1, irrespective of the presence orabsence of equipment such as a sorter or the like, and the page imagesare held in the storing device such as a hard disk or the like, so thatthe overhead can be also minimized.

The user can always output the page images on a copy unit basis withoutbeing conscious of the presence or absence of the equipment such as asorter or the like and the designated number of copies. Therefore,inconvenience of having the user manually rearrange the pages aftercompletion of the output can be eliminated.

That is, if the apparatus does not have the mechanical sorter, thenumber of analyzing times of the PDL data can be suppressed to 1 byusing the page image again irrespective of the designated number ofcopies.

On the other hand, if the apparatus has the mechanical sorter, only whenthe total number of copies to be outputted exceeds the maximum number ofcopies which can be sorted at once by the sorter (the number of bins),the page image is used again and the paper ejection can be performed ona copy unit basis while suppressing the number of analyzing times of thePDL data to 1. Otherwise, the plural copy print can be efficientlyperformed by using only the mechanical sorter without storing the pageimage into the hard disk.

As mentioned above, according to the invention, the print can beefficiently performed in consideration of the relation between thenumber of print copies and the mechanical sorter.

1-10. (canceled)
 11. An image processing apparatus connected to aninformation processing apparatus and an image forming apparatus,comprising: receiving means for receiving print data from theinformation processing apparatus; generating means for generating pageimage data on the basis of the print data received by said receivingmeans; holding means for holding the page image data generated by saidgenerating means in an image memory; obtaining means for obtaininginformation indicative of the number of paper ejection bins capable ofbeing used by the image forming apparatus; output means for outputtingthe page image data generated by said generating means to the imageforming apparatus; and control means for, when a plurality of copies ofsaid page image data are outputted to the image forming apparatus bysaid output means, selecting a first output mode when the number ofcopies of the print data to be outputted is greater than the number ofthe paper ejection bins capable of being used by the image formingapparatus, and selecting a second output mode when the number of copiesof the print data to be outputted is equal to or less than the number ofthe paper ejection bins capable of being used by the image formingapparatus, wherein in the first output mode, a process is executed foroutputting all pages of a first copy of the print data to a first paperejection bin of the image forming apparatus and holding the generatedpage image data by said holding means and, thereafter, the held pageimage data is read out and second and subsequent copies of the printdata are outputted to the first paper ejection bin or a paper ejectionbin other than the first paper ejection bin, and in said second outputmode, a process is executed for sorting the page image data generated bysaid generating means for every page in accordance with a plurality ofpaper ejection bins possessed by the image forming apparatus, andoutputting the page image data the same number of times as the number ofpages to be outputted. 12-15. (canceled)
 16. An image processing methodof outputting print data received from an information processingapparatus to an image forming apparatus, comprising: a generating stepof generating page image data on the basis of the print data receivedfrom the information processing apparatus; a holding step of holding thepage image data generated by said generating step in an image memory; anobtaining step of obtaining information indicative of the number ofpaper ejection bins capable of being used by the image formingapparatus; an outputting step of outputting the page image datagenerated by said generating step to the image forming apparatus; and acontrol step of, when a plurality of copies of the page image data areoutputted to the image forming apparatus by said outputting step,selecting a first output mode when the number of copies of the printdata to be outputted is greater than the number of the paper ejectionbins capable of being used by the image forming apparatus, and selectinga second output mode when the number of copies of the print data to beoutputted is equal to or less than the number of the paper ejection binscapable of being used by the image forming apparatus, wherein in thefirst output mode, a process is executed for outputting all pages of afirst copy of the print data to a first paper ejection bin of the imageforming apparatus and holding the generated page image data by saidholding step and, thereafter, the held page image data is read out andsecond and subsequent copies of the print data are outputted to thefirst paper ejection bin or a paper ejection bin other than the firstpaper ejection bin, and in the second output mode, a process is executedfor sorting the page image data generated by said generating step forevery page in accordance with a plurality of paper ejection binspossessed by the image forming apparatus, and outputting the page imagedata the same number of times as the number of pages to be outputted.17-20. (canceled)
 21. A computer-readable medium that stores a computerprogram for an image processing method of outputting print data receivedfrom a processing apparatus to an image forming apparatus, the computerprogram comprising: code for executing a generating step of generatingpage image data on the basis of the print data received from theinformation processing apparatus; code for executing a holding step ofholding the page image data generated by said generating step in animage memory; code for executing an obtaining step of obtaininginformation indicative of the number of paper ejection bins capable ofbeing used by the image forming apparatus; code for executing anoutputting step of outputting the page image data generated by saidgenerating step to the image forming apparatus; and code for executing acontrol step of, when a plurality of copies of the page image data areoutputted to the image forming apparatus by said outputting step,selecting a first output mode when the number of copies of the printdata to be outputted is greater than the number of the paper ejectionbins capable of being used by the image forming apparatus, and selectinga second output mode when the number of copies of the print data to beoutputted is equal to or less than the number of the paper ejection binscapable of being used by the image forming apparatus, wherein in thefirst output mode, a process is executed for outputting all pages of afirst copy of the print data to a first paper ejection bin of the imageforming apparatus and holding the generated page image data by saidholding step and, thereafter, the held page image data is read out andsecond and subsequent copies of the print data are outputted to thefirst paper ejection bin or a paper ejection bin other than the firstpaper ejection bin, and in the second output mode, a process is executedfor sorting the page image data generated by said generating step forevery page in accordance with a plurality of paper ejection binspossessed by the image forming apparatus, and outputting the page imagedata the same number of times the number of pages to be outputted. 22.(canceled)